﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Web.Http;
using Abp.Application.Services;
using RMM.Core.Entity.Massagistes;
using RMM.Massagists.Dtos;
using RMM.UserAppService.Dtos;
using Swashbuckle.Swagger.Annotations;

namespace RMM.Massagists
{
    public interface IMassagistAppService : IApplicationService
    {
        /// <summary>
        /// 获取单个技师信息
        /// </summary>
        /// <param name="massagistId"></param>
        /// <returns></returns>
        [HttpGet]
        [SwaggerResponse(System.Net.HttpStatusCode.OK,Type = typeof(MassagistDto))]
        Task<ResultDto> GetMassagistAsync(long massagistId);

        /// <summary>
        /// 获取计师列表
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        [HttpPost]
        [SwaggerResponse(System.Net.HttpStatusCode.OK, Type = typeof(List<UserDto>))]
        Task<ResultDto> GetMassagistList(MassagistInputDto dto);


        /// <summary>
        /// 获取店铺某一时间段空闲的技师
        /// </summary>
        /// <param name="shopId"></param>
        /// <param name="StartTime"></param>
        /// <param name="EndTime"></param>
        /// <param name="Skip"></param>
        /// <returns></returns>
        [HttpGet]
        [SwaggerResponse(System.Net.HttpStatusCode.OK, Type = typeof(List<Massagist>))]
        Task<ResultDto> GetFreeMassagistAsync(int shopId, DateTime StartTime, DateTime EndTime, int Skip);
    }
}